﻿using System;

using Microsoft.Maps.MapControl;
using Microsoft.Maps.MapControl.Core;

namespace SBPweb.Accelerators.StreetView.Client.BingMapsProvider.Models
{

    public interface IMapViewer : IModel
    {

        #region Property accessors

        Location ViewCenter
        {
            get;
            set;
        }

        MercatorMode ViewMode
        {
            get;
            set;
        }

        double ZoomLevel
        {
            get;
            set;
        }

        #endregion

        #region Events

        event EventHandler ViewChanging;

        event EventHandler ViewChanged;

        
        //event EventHandler<PolygonEventArgs> PolygonCreated;

        //event EventHandler<PolygonEventArgs> RouteCreated;

        #endregion

        #region Methods

        void SetViewCenter(double latitude, double longitude);

        void SetViewCenter(double latitude, double longitude, double altitude);

        void SetZoomLevel(double zoomLevel);

        
        void RaiseViewChanging();

        void RaiseViewChanged();


        void FetchUserView();

        
        //void CreatePolygon(string name, ITSH.Carbooking.Client.Logic.Services.Location.Polygon polygon);

        //void CreateRoute(string name, ITSH.Carbooking.Client.Logic.Services.Location.Polygon polygon);

        #endregion

    }

}